using ContentmanagementBase.Domain.Enums;

namespace ContentmanagementBaseRead.API.Dtos
{
    /// <summary>
    /// 疾病科普列表DTO
    /// </summary>
    public class PopularizationListDto
    {
        /// <summary>
        /// 疾病科普ID
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        /// 疾病科普标题
        /// </summary>
        public string PopularScienceTitle { get; set; }

        /// <summary>
        /// 疾病科普图片
        /// </summary>
        public string PopularScienceImages { get; set; }

        /// <summary>
        /// 疾病科普分类
        /// </summary>
        public string DiseaseType { get; set; }

        /// <summary>
        /// 疾病科普状态
        /// </summary>
        public bool PopularScienceStatus { get; set; }

        /// <summary>
        /// 疾病科普推荐
        /// </summary>
        public bool IsRecommended { get; set; }

        /// <summary>
        /// 疾病科普详细内容
        /// </summary>
        public string DetailedContent { get; set; }

        /// <summary>
        /// 疾病科普浏览次数
        /// </summary>
        public int BrowsingNumber { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreatedTime { get; set; }

        /// <summary>
        /// 创建人
        /// </summary>
        public int CreatedBy { get; set; }
    }

    /// <summary>
    /// 医疗科室DTO
    /// </summary>
    public class MedicalDepartmentDto
    {
        /// <summary>
        /// 科室值
        /// </summary>
        public int Value { get; set; }

        /// <summary>
        /// 科室名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 科室描述
        /// </summary>
        public string Description { get; set; }
    }

    /// <summary>
    /// 疾病类型DTO
    /// </summary>
    public class DiseaseTypeDto
    {
        /// <summary>
        /// 疾病类型值
        /// </summary>
        public int Value { get; set; }

        /// <summary>
        /// 疾病类型名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 疾病类型描述
        /// </summary>
        public string Description { get; set; }

        /// <summary>
        /// 所属科室
        /// </summary>
        public int DepartmentId { get; set; }
    }

    /// <summary>
    /// 科室疾病类型对应关系DTO
    /// </summary>
    public class DepartmentDiseaseTypeDto
    {
        /// <summary>
        /// 科室信息
        /// </summary>
        public MedicalDepartmentDto Department { get; set; }

        /// <summary>
        /// 对应的疾病类型列表
        /// </summary>
        public List<DiseaseTypeDto> DiseaseTypes { get; set; } = new List<DiseaseTypeDto>();
    }
} 